package _01_String;
/**
 * java.lang.StringBuffer
 * 
 * java.lang.StringBuilder
 * 
 * 1.StringBuffer 和 StrignBuilder 是什么?
 * 		是可变的字符串缓冲区
 * 
 * 2.原理
 * 		预先在内存中申请一块内存空间,用来容纳字符序列(字符数组)
 * 		如果预留空间不够的话,会自动扩容
 * 
 * 3.String 和 StringBuffer 以及 StringBuilder 最大的区别
 * 		String 是不可变的字符序列,存储在字符串常量池中
 * 		StringBuffer 和 StringBuilder 是可变的,底层也是 char 数组,并且也可以自动扩容
 * 
 * 4.StringBuffer 和StringBuilder 的默认初始化容量是 16 字符
 * 
 * 5.StringBuffer 和 StringBuilder 的区别
 * 		StringBuffer 是线程安全,在多线程环境下使用,不会出现问题,所以常用于类中
 * 
 * 		StringBuilder 是非线程安全,在多线程环境下使用,可能出现问题,所以常用于方法中
 * 
 * 如果不考虑安全的情况下,使用 StringBuilder 运行效率更高
 * 
 * @author lenovo
 * @Date 2020年7月15日
 * @Time 下午7:15:21
 */
public class String_05 {

	public static void main(String[] args) {
		String[] arr = { "a", "b", "c" };
		StringBuilder sb = new StringBuilder();
		for (String string : arr) {
			sb.append(string);
		}

		// 调用 toString 方法,转换为 String 类型
		String string = sb.toString();
		System.out.println(string);
		// abc

	}

}
